package net;

import java.io.File;
import java.io.IOException;
import java.util.Collection;
import java.util.List;

import net.schmizz.sshj.connection.channel.direct.Session.Command;
import core.models.Rule;

public interface SSHConnection {
	public Command execute(String command) throws IOException;
	public File downloadInterfaces() throws IOException;
	public void sendInterfaces(File file) throws IOException;
	public List<String> getRules(String table) throws IOException;
	public List<String> getInterfacesNames() throws IOException;
	public void sendRule(Rule rule) throws IOException;
	public File downloadDhcpConf() throws IOException;
	public void sendDhcpdConf(File file) throws IOException;
	public long getReceivedPackets(String ifaceName) throws IOException;
	public long getReceivedBytes(String ifaceName) throws IOException;
	public long getSentPackets(String ifaceName) throws IOException;
	public long getSentBytes(String ifaceName) throws IOException;
	public Collection<String> getIptablesLog (String filter) throws IOException;
}
